package com.example.File;

import java.io.File;

public class Test2File {
    public static void main(String[] args) {
        //method();
        //method1();
        //method2();
        //method3();
        //method4();

        File file = new File("C:\\itheima");
        File[] files = file.listFiles();//返回值是一个File类型的数组
        //System.out.println(files);//null
        System.out.println(files.length);//0
        for (File path : files) {
            System.out.println(path);
        }

        //进入文件夹,获取这个文件夹里面所有的文件和文件夹的File对象,并把这些File对象都放在一个数组中返回。
        //包括隐藏文件和隐藏文件夹都可以获取.

        //注意事项:
        //1.当调用者是一个文件时
        //2,当调用者是一个空文件夹时
        //3.当调用者是一个有内容的文件夹时
        //4.当调用者是一个有权限才能进入的文件夹时


    }

    private static void method4() {
        //注意点:
        //1.如果调用者是文件,那么获取的是文件名和后缀名
        //2.如果调用者是一个文件来,那么获取的是文件来的名字
        File file = new File("a.txt");
        String name = file.getName();
        System.out.println(name);   //a.txt

        File file1 = new File("C:\\itheima");
        String name1 = file1.getName();
        System.out.println(name1);  //itheima
    }

    private static void method3() {
        File file = new File("a.txt");
        boolean result = file.exists();
        System.out.println(result);
    }

    private static void method2() {
        File file = new File("C:\\itheima");
        boolean result1 = file.isFile();
        boolean result2 = file.isDirectory();
        System.out.println(result1);//false
        System.out.println(result2);//true
    }

    private static void method1() {
        File file = new File("C:\\itheima\\a.txt");
        boolean result1 = file.isFile();
        boolean result2 = file.isDirectory();
        System.out.println(result1);//true
        System.out.println(result2);//false
    }

    private static void method() {
        //注意点:
        // 1.不走回收站的
        // 2.如果删除的是文件,那么直接删除,如果删除的是文件夹,那么能删除空文件夹
        // 3.如果要删除一个有内容的文件夹,只能先进入到这个文件夹,把里面的内容全部删除完毕,才能再次删除这个文件夹

        // 简单来说:
        // 只能删除文件和空文件夹

        File file = new File("C:\\itheima\\a.txt");
        boolean result = file.delete();
        System.out.println(result);

        File file1 = new File("C:\\itheima");
        boolean result1 = file.delete();
        System.out.println(result1);
    }
}
